home *** CD-ROM | disk | FTP | other *** search
/ Aminet 25 / Aminet 25 (1998)(GTI - Schatztruhe)[!][Jun 1998].iso / Aminet / util / cli / case.readme < prev    next >
Encoding:
Text File  |  1998-05-05  |  8.7 KB  |  197 lines

  1. Short:    Powerful prg to rename/manipulate filenames
  2. Author:   c9713363@alinga.newcastle.edu.au (Erik Spåre)
  3. Uploader: c9713363@alinga.newcastle.edu.au (Erik Spåre)
  4. Version:  2.4
  5. Type:     util/cli
  6. Requires: OS 2.04 or above
  7.  
  8. *****************************************************************************
  9. ** Case 2.4 - Filename Changer - by Erik Spåre (Parsec/Phuture 303) 980304 **
  10. **        Filematching routines by Anders Vedmar (Axehandle/PC303)         **
  11. *****************************************************************************
  12.  
  13. Very powerful program that lets you rename multiple files. Features:
  14.  
  15.     * Recursive pattern matching (no pattern targets all files in current dir)
  16.     * More than 60 recognized extentions.
  17.     * ENV:Caseopts file, where you can, for instance, add more extentions.
  18.     * 5 Different lower/uppercase modes in many variants.
  19.     * 8 extention operations (like add/remove/swap suffix/prefix/extention)
  20.     * 11 string manipulation operations (like remove string, add head/tail)
  21.     * Can handle *all* letters, not only a-z.
  22.     * Direct or indirect renaming mode, won't crash on the ram-disk.
  23.     * 100 percent 68000 assembler.
  24.     * Freeware
  25.     * And more...
  26.  
  27.  
  28. An example...               Case -l -t -k -apmod        Case -sp -w -ue
  29.  
  30.     MOD.OCEAN_LOADER_FIXED  ==> mod.ocean_loader_fixed  ==> Ocean_Loader_Fixed.MOD
  31.     Mod.Green beret         ==> mod.green_beret         ==> Green_Beret.MOD
  32.     mod.CRYSTAL HAMMER      ==> mod.crystal_hammer      ==> Crystal_Hammer.MOD
  33.     DOC1                    ==> mod.doc1                ==> Doc1.MOD
  34.     Hunters_moon            ==> mod.hunters_moon        ==> Hunters_Moon.MOD
  35.     MOD.SleepWalk           ==> mod.sleepwalk           ==> Sleepwalk.MOD
  36.     MOD.(((nebulos)))       ==> mod.nebulos             ==> Nebulos.MOD
  37.     mod.CREAM OF THE EARTH  ==> mod.cream_of_the_earth  ==> Cream_Of_The_Earth.MOD
  38.     MOD.telephone!!!        ==> mod.telephone           ==> Telephone.MOD
  39.  
  40.  
  41. Here's a list of all the options...
  42.  
  43.     The caseing options
  44.  
  45.        -l        All Lowercase
  46.        -u        All Uppercase
  47.        -w        Each new Word uppercase
  48.        -f        First letter uppercase
  49.        -c        Change cases
  50.        -i        Ignore suffix and/or prefix when caseing
  51.        -I        Don't Ignore suffix and/or prefix when caseing
  52.  
  53.     The extention operations
  54.  
  55.        -a        Add specified prefix/suffix/extention
  56.        -r        Remove [specified] prefix/suffix/extention
  57.        -C        Change [given] pref/suff/ext to specified
  58.        -s        Swap prefix and/or suffix
  59.        -E        Ignore default extensions [only accept specified]
  60.        -e        Only accept default extentions [and specified]
  61.        -L        Set new prefix and/or suffix maxlength
  62.        -g        Give priority to prefix or suffix
  63.  
  64.     The string manipulation operations
  65.  
  66.        -t        Transform spaces to underlines
  67.        -T        Transform underlines to spaces
  68.        -d        Delete all the spaces [or only specified]
  69.        -D        Delete specified strings
  70.        -C        Change string 1 to string 2
  71.        -k        Keep letters, digits, some more [and specified]
  72.        -K        Keep A-Z, digits, some more [and specified]
  73.        -m        Mutilate chars with ASCI values exceeding 128 to 45-127
  74.        -a        Add head/tail string to filename
  75.        -r        Remove head/tail string from filename
  76.        -v        Vomit files to PC-format
  77.  
  78.     The remaining options
  79.  
  80.        -D        Disable env:caseopts file
  81.        -q        Be Quiet (only list errors)
  82.        -n        Neglect the directories
  83.        -b        Use a buffer when renaming (indirect)
  84.        -B        Don't use a buffer when renaming (direct)
  85.        -S        Simulate caseing, don't actually rename anything
  86.        --     Stop option parsing
  87.        ALL       To recurse into subdirs.
  88.        SHOWINFO  To show a list of all recognized extentions
  89.  
  90.  
  91. Changes since version 2.1...
  92.  
  93.     ** Above mentioned new extentions were actually only added to the doc.
  94.        I forgot to add them in the source. Apart from all those new
  95.        extentions, there's three more: xm, s3m and rexx.
  96.  
  97.     ** Corrected flaw in the argument parsing. Case wouldn't report a
  98.        syntax error when several source-names were entered. (This is not
  99.        yet allowed)
  100.  
  101.     ** When in recursive mode, if a directory-name got renamed by Case,
  102.        (so the characters actually changed, not only the cases) any
  103.        files in that directory would not be found. Solved this by
  104.        letting the pattern matching routine pass Case the directory names
  105.        when they were leaved, instead of when they were entered.
  106.  
  107.     ** Whenever a file in the search path could not be locked for some
  108.        reason, case would abort the whole operation with "can't find file
  109.        or path!" If in the default buffered mode, no files would ever be
  110.        renamed. Now, whenever the filematching routine cannot lock a file,
  111.        Case will look at the name to determine if the user wanted that
  112.        file to be renamed. (If, for instance, the user wanted to uppercase
  113.        all filenames, and this file already was uppercased, there would be
  114.        nothing to worry about.) If he didn't the file will simply be skipped.
  115.        If he did, the fail counter will be incremented and the message "can't
  116.        lock xxx because object is in use" will be displayed.
  117.  
  118.     ** The -C" option (change string 1 to string 2) was flawed.
  119.        case21 -C"bl",bl bla   would result in  renaming bla to bla. Also:
  120.        case21 -C"bl",bla bla  would not rename bla to blaa, since Case thought
  121.        this had already been done.
  122.  
  123.  
  124. Changes since version 2.2...
  125.  
  126.     ** Fixed flaw: Case -l HIRESDOOM(PPC).PNG resulted in "Can't find file
  127.        or path!". This was because any filespecification that contained
  128.        wildcards (like the paranthesis in this example) was assumed to be
  129.        a searchpattern. Case will now begin by trying to lock the exact
  130.        given pattern, and if it exists it won't enter the match mode but
  131.        only pass this file (or directory). Thanks to Niels de Koning for
  132.        reporting this!
  133.  
  134.     ** Found bug in AxeMatch! Case -u dirname ALL would make AxeMatch think
  135.        that dirname was a filename! And it would lock the directory dirname
  136.        resided in and start to recursively look for files matching dirname.
  137.        If dirname was in the root of a partition, all files on that partition
  138.        would be examined!
  139.  
  140.     ** Case -u dirname ALL will now uppercase everything in dirname as well
  141.        as dirname itself. Thanks to Niels de Koning for suggesting this!
  142.  
  143.     ** Specified filenames not containing wildcards had to be specified
  144.        EXACTLY right. So to uppercase 'fIlE' you had to write Case -u fIlE.
  145.        Fixed this.
  146.  
  147.     ** Rewrote from scratch the routine that parses the argumentline (except
  148.        the part that interpretates the options). Please report any unexpected
  149.        behaviour!
  150.  
  151.     ** It's now possible to give several filename/pattern specifications,
  152.        for instance Case -l file1 file2 file3 dir1/#?.txt would uppercase
  153.        the three files file1-3 as well as all files ending with .txt in dir1.
  154.  
  155.     ** The env:caseopts file can now contain newlines. They will be converted
  156.        to spaces. (And as usual, no spaces are allowed between the comma
  157.        separators.)
  158.  
  159.     ** Added the option -- which will abort the option parsing. If you
  160.        specify a filepattern that begin with - you need to use this
  161.        to prevent Case from confusing the filepattern with an option.
  162.  
  163.     ** Added the keyword SHOWINFO. It will list all recognized extentions,
  164.        internal as well as environmental.
  165.  
  166.     ** Decreased the program size with about 1400 bytes by moving some
  167.        partly uninitialized data into the BSS section and by letting
  168.        AxeMatch access most of its data relative to a5.
  169.  
  170.  
  171. Changes since version 2.3...
  172.  
  173.     ** Case v2.3 featured a serious bug which would cause deadlocks (in
  174.        most cases) when specifying one or more filenames without
  175.        wildcards. It worked perfectly during the 24 hours I was bugtesting
  176.        it though, so I feel the whole thing is a bit unfair. Thanks to
  177.        Niels de Koning & Finn Nielsen for reporting this, and my
  178.        apologies to the ones whose Amigas I crashed!
  179.  
  180.  
  181. Remember:
  182.  
  183.     "This should be in every man's c-directory"
  184.      /Axehandle.
  185.  
  186.  
  187. ============================= Archive contents =============================
  188.  
  189. Original  Packed Ratio    Date     Time    Name
  190. -------- ------- ----- --------- --------  -------------
  191.    16348    9232 43.5% 04-Mar-98 23:08:00 +case
  192.    82525   23829 71.1% 10-Mar-98 00:44:36 +case.doc
  193.    88051   25436 71.1% 10-Mar-98 00:44:28 +case.guide
  194.     8394    3331 60.3% 10-Mar-98 00:44:50 +case.readme
  195. -------- ------- ----- --------- --------
  196.   195318   61828 68.3% 09-Mar-98 19:19:18   4 files
  197.